import { Toast } from 'vant'
import { mapMutations, mapState } from 'vuex'
export default {
  methods: {
    isInCart (sku) {
      // 判断购物车里是否有要加入购物车的这个商品数据
      // 判断数组中是否包含某个元素 indexOf-->判断基本数据类型 这里是数组套json
      // --->所以要用find（） 和findIndex（）去判断
      const index = this.cart.findIndex(item => item.id === sku.id)
      return index
    },
    addCart (item) {
      // 将子组件里面传来的方法和数据进行商品加入购物车
      // console.log(item)
      // 购买数量 和规格没有
      const sku = {
        ...item,
        num: 1,
        checked: true
      }
      console.log(this.isInCart(sku))
      // 注意:添加之前拿到购物车的数据与加入购物车的商品比对 看是否有重复的 重复->添加数量或者提示  mapState拿数据
      if (this.isInCart(sku) === -1) {
        // 购物车中没有商品
        this.add_cart(sku)
      } else {
        // 购物车中已经有了该商品 数量++
        this.add_cart_num(this.isInCart(sku))
      }
      // this.isInCart(sku)
    },
    ...mapMutations('cart', ['add_cart', 'add_cart_num'])
  },
  computed: {
    ...mapState({
      cart: (state) => state.cart.cart.items
    })
  }
}
